1. Field of the Invention
The present invention relates to a data transmission method and apparatus.
2. Description of the Related Art
As the power of local processors increases, local area network (LAN) technology has been utilized to interconnect such processors in extremely powerful networks. LANs have been employed to pass information within an office or to control automated factories.
When data must be supplied in a timely manner, a token passing scheme has commonly been employed within the LAN. In this scheme, each transmission control station acquires a transmission right within a predictable predetermined period of time to be allowed to perform data transmission.
The token passing LAN has commonly been implemented either as a bus type LAN defined by ISO 88024 or IEEE 802.4 standard or a ring type LAN defined by ISO 9314 or ANSI X3T9.5 standard.
In the token passing scheme, a frame called a token is transmitted/received among nodes so that a transmission right is sequentially transferred to the respective nodes. That is, a plurality of nodes do not acquire the transmission right at the same time. Upon receiving the token, a given node transmits data within a preset period of time. Therefore, each node can calculate the maximum time it will have to wait until its station can transmit data on the basis of the total number of nodes and a preset wait time of each node. Every node can transmit data without fail according to a transmission sequence. As a result, deterministic media access control can be performed.
Each node stores the address of a succeeding node (succeeding station) to which its station is to transfer the token, and the address of a preceding node (preceding station) from which the token has been transferred to its station. The token is sequentially transferred to the respective nodes as if the nodes were connected to each other, thus forming a logical ring. Therefore, in the token passing scheme, various types of LAN configurations such as bus, ring and star network configurations can be employed.
Furthermore, the token passing scheme has a priority processing function of assigning data (to be transmitted) to normally four types of access classes according to their transmission priorities, designated access classes 6, 4, 2, and 0. Access class 6 has the highest priority, and the priorities of access classes 4, 2, and 0 decrease in this order. Data waiting for transmission can be classified into four types of queues. Transmission of access class 6 data can be performed at any time within a token holding time defined by the token passing protocol. That is, class 6 data can be transmitted any time a node has the token. Transmission of access classes 4, 2, and 0 data can be performed during a time interval between the instant at which a token is received and the instant at which the target token rotation timer of each access class has elapsed. When the token is received by each class within a node, the target token rotation timer for that class begins measuring the length of time until the token returns. The target token rotation timer elapses when a maximum period of time has passed for the token to make a complete circuit of the ring. That is, each target token rotation time value is determined on the basis of the time it takes for the token to rotate through the logical ring.
More specifically, when a given node receives the token, a queue with access class 6 is serviced and corresponding data is transmitted. If no data needs to be transmitted or all class 6 data has been transmitted and the token holding time has not expired, the token is transferred to a lower access class within the node. At lower access classes 4, 2, or 0, if the token returns within the target token rotation time for that class, data with a corresponding access class can be transmitted until the corresponding target token rotation time elapses. If the token returns after the target token rotation time has elapsed, data with a corresponding access class cannot be transmitted even if the token is received.
In this case, the token is transferred to a lower access class or a succeeding node. More specifically, each access class operates like a virtual sub-station in each node. After the token is passed among all the access classes in each node, from the access class having the highest priority to the access class having the lowest priority, it is transferred to a succeeding station.
An algorithm for servicing access classes is performed using the token holding timer for the node, a temporary token holding timer which is used by each class and the target token rotation timer for each class. More specifically, when the token passes to an access class within a node, any time remaining in the target token rotation timer for that class is transferred to the temporary token holding timer. Then, the target token rotation timer for that class is reset. Data from that class can then be transmitted until the time in the temporary token holding timer expires (or until the token holding timer for the node expires). In this case, transmission from a given class influences the next token rotation time of that class. If time remains in the temporary token holding timer, data can be transmitted for that class until the temporary token holding timer causes time out or all data for that class has been transmitted. If the temporary token holding timer causes time out or all data for that class has been transmitted, a service of the next access class is started when a service of an access class of the lowest level is completed, the token is transferred to the succeeding node.
In the token passing scheme defined by the ISO 88024 (IEEE 802.4) standard or the ISO 9314 (ANSI X3T9.5 FDDI) standard, each transmission control station measures a token rotation time by using an internal timer, and determines a busy state of a transmission path by comparing the measured time with a preset predictive time. If it is determined that the transmission path is not busy, data frames are transmitted in accordance with priorities of each transmission control station.
In transmission/reception processing at transmission apparatuses on the token passing LAN, data waiting for transmission are arranged in a transmission queue in an order in which transmission requests are received, and are sequentially processed for transmission in the same order. The data are then rearranged in the transmission queue in accordance with access classes and are sent to the transmission path by the above-described media access control in order.
When the data are to be received and processed, the data are arranged into a reception queue in an order in which they are received, and are processed in order.
In this case, the transmission/reception processing includes conversion/inverse-conversion between the format of data received from, e.g., a host unit and a common format of a transmission system. Examples of such conversions include addition and deletion processing of control information and identification information required to constitute a data frame and control a transmission sequence, as well as error information for guaranteeing accurate transmission, start and end processing of a monitor sequence for monitoring a transmission sequence, buffer ensuring and releasing processing for transmission/reception data frames, sequence start and end processing for ensuring, maintaining and canceling logical connection with a station at the transmitting/receiving end, and the like.
Note that transmission processing and reception processing are not preferentially performed according to the order in which data is needed at another location on the LAN. If, therefore, a large number of transmission requests having low urgencies are generated, data having high priorities cannot always be transmitted within the periods of time in which the data is needed.
Furthermore, in the above token passing scheme, media access control is distributed in all transmission control stations. Each transmission station determines for itself whether the transmission path is busy. If it is not busy, data frames are transmitted according to their priorities among the other data frames to be transmitted at each transmission control station. In other words, each transmission control station transmits data according to priority levels within that station, without knowing how the timing in which data of a given transmission request is needed compares to the timing in which data of other transmission requests is needed elsewhere in the system.
Therefore, even data having a high urgency in the overall system may be transmitted after other data having lower priorities.